import { configureStore } from '@reduxjs/toolkit'
import counter from '../components/counter/slice'
import userSearch from '../components/userSearch/slice'

/* 
说明: 此模块除了要注册各个redux模块的reducer外, 都是固定的代码

redux的store对象
根状态的类型
dispatch函数的类型
*/


// 配置应用中每个redux模块的reducer函数, 返回store
const store = configureStore({
  reducer: { // 所有reducer都在此注册
    counter,
    userSearch
  },
})

// 默认暴露store
export default store

// 暴露根stte的类型
export type RootState = ReturnType<typeof store.getState>

// 暴露useDispatch的类型
export type AppDispatch = typeof store.dispatch